/**
 * SPDX-License-Identifier: (MIT OR CECILL-C)
 *
 * Copyright (C) 2006-2019 INRIA and contributors
 *
 * Spoon is available either under the terms of the MIT License (see LICENSE-MIT.txt) of the Cecill-C License (see LICENSE-CECILL-C.txt). You as the user are entitled to choose the terms under which to adopt Spoon.
 */
package spoon.pattern.internal.node;

import spoon.pattern.internal.matcher.TobeMatched;

/**
 * Delivers to be substituted value
 * Matches value
 */
abstract class AbstractPrimitiveMatcher extends AbstractRepeatableMatcher implements PrimitiveMatcher {

	protected AbstractPrimitiveMatcher() {
	}


	@Override
	public TobeMatched matchAllWith(TobeMatched tobeMatched) {
		//we are matching single CtElement or attribute value
		return tobeMatched.matchNext((target, parameters) -> {
			return matchTarget(target, tobeMatched.getParameters());
		});
	}
}
